

//        // 获取所有服务
//        auto serviceResult = co_await
//        bluetoothDeviceAgent.device.GetGattServicesAsync();
//        if (serviceResult.Status() != GattCommunicationStatus::Success || serviceResult.Services().Size() == 0) {
//            message_connector_->Send(
//                    EncodableMap{
//                            {"deviceId",     std::to_string(bluetoothDeviceAgent.device.BluetoothAddress())},
//                            {"ServiceState", "discovered"},
//                            {"services",     flutter::EncodableList()}
//                    }
//            );
//            co_return;
//        }
//
//        for (auto const &service: serviceResult.Services()) {
//            // 获取服务的所有特性
//            auto characteristicResult = co_await
//            service.GetCharacteristicsAsync();
//            if (characteristicResult.Status() != GattCommunicationStatus::Success) {
//                message_connector_->Send(
//                        EncodableMap{
//                                {"deviceId",     std::to_string(bluetoothDeviceAgent.device.BluetoothAddress())},
//                                {"ServiceState", "partial"},
//                                {"service",      to_uuidstr(service.Uuid())},
//                                {"errorMessage", "Failed to discover characteristics"}
//                        }
//                );
//                continue;
//            }
//
//            flutter::EncodableList characteristics;
//            for (auto const &characteristic: characteristicResult.Characteristics()) {
//                // 获取特征属性
//                GattCharacteristicProperties props = characteristic.CharacteristicProperties();
//                std::string propString = PropertiesToString(props);
//
//                // 创建特征信息映射
//                flutter::EncodableMap characteristicInfo{
//                        std::make_pair("uuid", to_uuidstr(characteristic.Uuid())),
//                        std::make_pair("properties", propString)
//                };
//
//                // 添加描述符信息
//                flutter::EncodableList descriptors;
//                for (auto const &descriptor: characteristic.GetDescriptors(GUID())) {
//                    descriptors.push_back(to_uuidstr(descriptor.Uuid()));
//                }
//                characteristicInfo.insert({"descriptors", descriptors});
//
//                characteristics.push_back(characteristicInfo);
//            }
//
//            // 发送服务及特性信息
//            message_connector_->Send(
//                    EncodableMap{
//                            {"deviceId",        std::to_string(bluetoothDeviceAgent.device.BluetoothAddress())},
//                            {"ServiceState",    "discovered"},
//                            {"service",         to_uuidstr(service.Uuid())},
//                            {"characteristics", characteristics}
//                    }
//            );
//        }



//
// std::unique_ptr <flutter::StreamHandlerError<EncodableValue>> FlutterBluePlugin::OnListenInternal(
//            const EncodableValue *arguments, std::unique_ptr <flutter::EventSink<EncodableValue>> &&events) {
//        if (arguments == nullptr) {
//            return nullptr;
//        }
//        auto args = std::get<EncodableMap>(*arguments);
//        auto name = std::get<std::string>(args[EncodableValue("name")]);
//        if (name.compare("scanResult") == 0) {
//        } else if (name.compare("pairedDevices") == 0) {
//            paired_devices_sink_ = std::move(events);
//        }
//        return nullptr;
//    }
//
//    std::unique_ptr <flutter::StreamHandlerError<EncodableValue>> FlutterBluePlugin::OnCancelInternal(
//            const EncodableValue *arguments) {
//        if (arguments == nullptr) {
//            return nullptr;
//        }
//        auto args = std::get<EncodableMap>(*arguments);
//        auto name = std::get<std::string>(args[EncodableValue("name")]);
//        if (name.compare("scanResult") == 0) {
//        } else if (name.compare("pairedDevices") == 0) {
//            paired_devices_sink_ = nullptr;
//        }
//        return nullptr;
//    }